// pages/demo02/demo02.js
const db = wx.cloud.database();
const hero = db.collection('hero');

Page({
  /** * 页面的初始数据 */
  data: {
    heroList: [],
    heroName: '刘',
  },
  onLoad(){
    this.getHero();
  },
  async addHero(){
    const res = await hero.add({
      data:{
        name:'刘备',
        age:50,
        gender:'男',
        skill:'脸皮厚'
      }
    });
    // console.log(res); 
    this.getHero();
  },
  async getHero(){
    // 把解构出来的 data 赋值到 heroList 常量中（改名）
    const { data: heroList } = await hero.get();
    // console.log(data);
    this.setData({ heroList })
  },
  // 根据id查询单个数据
  async getHeroById(){
    const _id = '2fd465895fa104df002e68833b873b6e';
    const { data } = await hero.doc(_id).get();
    console.log(data);
    this.setData({ heroList: [ data ] })
  },
  // 根据条件查询
  async getHeroByWhere(){
    // 注意这里的获取写法多了一个 data.
    // console.log(this.data.heroName);
    const { heroName } = this.data;
    // return;
    const { data: heroList } = await hero.where({
      // name:'刘备'
      // name: /刘/
      name: db.RegExp({ regexp: heroName })   // 把字符串转换成正则对象查询
    }).get();
    // console.log(data);
    this.setData({ heroList  }) 
  },
  // 根据 id 删除单条数据
  async deleteHero(e){
    // const _id = 'b4f7b7d25fa106be0025509447a6f73b';
    // console.log(e);
    try{
      const { _id } = e.currentTarget.dataset;
      // console.log(_id);
      const res = await hero.doc(_id).remove();
      // console.log(res);
      this.getHero();
    }catch{
      wx.showToast({ title: 'id错误', icon:'none' })
    }
  },
  // 更新修改单个英雄数据
  async updateHero(){
    const _id = 'b333e0365fa11036002f7c9a75e8cdda';
    const res = await hero.doc(_id).update({
      data:{
        age: 8,
        gender:'男孩'
      }
    });
    // console.log(res);
    this.getHero();
  },
})